package TestConnect;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

import java.io.*;

public class Connect {
    public static void main(String[] args) throws IOException{
//        创建连接
        System.setProperty("HADOOP_USER_NAME","root");//冒充hdfs 超级管理员
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS","hdfs://192.168.226.15:9000");
        FileSystem fs = FileSystem.get(conf);
        System.out.println("连接成功");
//        创建文件夹
//        fs.mkdirs(new Path("/homework"));
//        System.out.println("文件夹创建成功！");
//        删除文件
//        fs.delete(new Path("/dj.txt"));
//        System.out.println("删除文件成功");

//        上传文件
        InputStream in = new FileInputStream("D:\\kyrielin\\职业生涯规划.docx");  //从本地上传

        OutputStream out = fs.create(new Path("/homework/职业生涯规划.docx")); //上传到hdfs 指定目录

        IOUtils.copyBytes(in,out,1024,true);

        System.out.println("上传文件成功");
//        下载·文件
//        InputStream down_file = fs.open(new Path("/data_temp/hello.md"));
//
//        IOUtils.copyBytes(down_file,new FileOutputStream(new File("G://filetemp//hello.md")),2048,true);
//        System.out.println("文件下载成功！");
//        查看文件夹下的文件
//        FileStatus[] fileStatuses = fs.listStatus(new Path("/data_temp"));
//        for (FileStatus fileStatus:fileStatuses){
//            System.out.println(fileStatus.getPath());
//        }


        fs.close();//关闭Hadoop
    }
}
